package com.jt.controller;

import com.jt.pojo.ItemCat;
import com.jt.service.ItemCatService;
import com.jt.vo.PageResult;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/itemCat")
public class ItemCatController {
    @Autowired
    private ItemCatService itemCatService;
    /**
     * 请求路径: /itemCat/findItemCatList/{level}
     * 请求类型: get
     * 请求参数: level
     * */
    @GetMapping("/findItemCatList/{level}")
    public SysResult findItemCatList(@PathVariable Integer level){

        return SysResult.success(itemCatService.findItemCatList(level));
    }
    @GetMapping("/test")
    public List<ItemCat> testFindAll(){
        return itemCatService.testFindAll();
    }
    /**
     * 请求路径: /itemCat/status/{id}/{status}
     * 请求类型: put
     * 请求参数:
     * */
    @PutMapping("/status/{id}/{status}")
    public SysResult updateStatus(ItemCat itemCat){
        itemCatService.updateStatus(itemCat);
        return SysResult.success();
    }
    /**
     * 请求路径: /itemCat/saveItemCat
     * 请求类型: post     1.get("/itemCat/findItemCatList/2")
     * 请求参数: 表单数据
     * */
   @PostMapping("/saveItemCat")
    public SysResult saveItemCat(@RequestBody ItemCat itemCat){
       itemCatService.saveItemCat(itemCat);
       return SysResult.success();
   }
   /**
    * 请求路径: /itemCat/updateItemCat
    * 请求类型: put
    * 请求参数: 表单数据 ItemCat对象
    * */
   @PutMapping("/updateItemCat")
   public SysResult updateItemCat(@RequestBody ItemCat itemCat){
       itemCatService.updateItemCat(itemCat);
       return SysResult.success();
   }
   /**
    * 请求路径: /itemCat/deleteItemCat
    * 请求类型: delete
    * 业务描述: 当删除节点为父级时,应该删除自身和所有的子节点
    * 请求参数:
    * */
   @DeleteMapping("/deleteItemCat")
   public SysResult deleteItemCat(ItemCat itemCat){
       itemCatService.deleteItemCat(itemCat);
       return SysResult.success();
   }
}

